package com.tencent.sr.iris.activity.interfaces.response.group.task;

import com.alibaba.fastjson.annotation.JSONField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;

@Data
@ApiModel("团长任务列表响应")
public class GroupTaskListResponse {

    @ApiModelProperty("子任务ID")
    @JSONField(name = "task_phase_id")
    private Long taskPhaseId;

    @ApiModelProperty("子任务名称")
    @JSONField(name = "task_phase_name")
    private String taskPhaseName;

    @ApiModelProperty("子任务描述")
    @JSONField(name = "task_phase_description")
    private String taskPhaseDescription;

    @ApiModelProperty("子任务缩略图")
    @JSONField(name = "webpage_thumbnail_img_url")
    private String webpageThumbnailImgUrl;

    @ApiModelProperty("子任务状态. 1=准备中, 2=待上线，3=已上线，4=已下线，5=已作废")
    @JSONField(name = "task_phase_status")
    private Integer taskPhaseStatus;

    @ApiModelProperty("投放开始时间")
    @JSONField(name = "task_phase_start_time")
    private String taskPhaseStartTime;

    @ApiModelProperty("投放结束时间")
    @JSONField(name = "task_phase_end_time")
    private String taskPhaseEndTime;

    @ApiModelProperty("详情页跳转链接")
    @JSONField(name = "detail_jump_url")
    private String detailJumpUrl;

    //----已报名列表特有
    @ApiModelProperty("报名用户记录ID")
    @JSONField(name = "task_user_join_record_id")
    private Long taskUserJoinRecordId;

    //----可报名列表特有
    @ApiModelProperty("子任务报名上限")
    @JSONField(name = "task_phase_leader_limit")
    private Integer taskPhaseLeaderLimit;

    @ApiModelProperty("【枚举】任务考核指标，0=无须填写, 1=拉新+首购, 2=拉新+复购，3=GMV，4=销量件数,5=见习会员晋升, " +
            "6=初级会员晋升, 7=高级会员晋升，8=粉丝首购人数 9=派奖工具，10=GMV(普通团推团)， 11=GMV(特邀团推团)，" +
            "12=GMV（奖励金翻倍），13=销售件数（奖励金翻倍），14=GMV（排行榜），15=佣金（排行榜），" +
            "16=指定商品分佣成功，17=特邀奖励金，18=其它（系统派奖），19=分销单量，20=GMV/佣金等(特邀会员冲刺赛)，21=销售冲刺赛")
    @JSONField(name = "task_target_evaluation")
    private Integer taskTargetEvaluation;

    @ApiModelProperty("剩余报名人数.为0 表示已报满")
    @JSONField(name = "remaind_join_num")
    private Integer remaindJoinNum;

    @ApiModelProperty("消息类型，10：活动任务开始提醒，11：活动任务进度提醒，12：活动任务奖励提醒")
    private List<Integer> messageTypeList;

    @ApiModelProperty("领取状态(派奖工具).1=待领取,2=已领取,3=已撤回")
    @JSONField(name = "receive_status")
    private String receiveStatus;

    @ApiModelProperty("审核通过时间（即派奖领取时间）")
    @JSONField(name = "audit_pass_time")
    private String auditPassTime;

    @ApiModelProperty("发放时间")
    @JSONField(name = "task_phase_join_time")
    private String taskPhaseJoinTime;

    @ApiModelProperty("活动类型，1为营销中台活动，2为统一平台活动")
    private Integer taskType = 1;
}

